home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Magazin: Amiga-CD 1997 May & June
/
Amiga-CD 1997 #5-6.iso
/
amiga-internet-seiten
/
magazin
/
a04-97
/
demos.lha
/
readme.txt
< prev
next >
Wrap
Text File
|
1997-03-21
|
9KB
|
168 lines
Das CyberGL-Demoverzeichnis
Dieses Verzeichnis enthält eine Reihe von Demo-Programmen, die einige der
zahlreichen CyberGL-Möglichkeiten demonstrieren. Die Programme sind sehr
einfach gehalten und dürftig getestet, da sie lediglich zum Testen der
CyberGL-Bibliothek gedacht waren. Zunächst ein Überblick über den Inhalt
des Verzeichnisses:
cybergl.library.030 cybergl.library für 68030 + 68882
cybergl.library.040 cybergl.library für 68040
cybergl.library.060 cybergl.library für 68060
readme.txt Diese Datei
objects (dir) Das Lightwave-Objekt-Verzeichnis
Cow Die berühmte Kuh
CyberGL Der Schriftzug "CyberGL" als
FlatSmooth Eine teils Gouraud- teils Flat-geshadete Kugel
MovieChair Ein Regisseur-Stuhl
SimpleChair Ein einfacher gepolsterter Stuhl
Sofa Ein Sofa
Stool Ein Barhocker
Torus Ein Torus
Two_Spheres Zwei farbige Kugeln
reflect (dir) Das Verzeichnis mit den Environment-Maps
cafe Ein Cafe
Environ Metallische Umgebung
office Ein Büro
river Ein Fluß
temple Ein Tempel im Grünen
examples (dir) Das Verzeichnis mit den Demoprogrammen
bigPoly Zeichnet einen Kreis
bigPoly.info Zugehörige Icon-Datei
cubes Zeichnet eine Reihe von Würfeln
cubes.info Zugehörige Icon-Datei
cubes_anim Zeichnet acht drehbare Würfel
cubes_anim.info Zugehörige Icon-Datei
cubes_clipped Zeichnet die Würfelszene mit Clipping
cubes_clipped.info Zugehörige Icon-Datei
cubes_flat Zeichnet die Würfelszene mit Flatshading
cubes_flat.info Zugehörige Icon-Datei
cubes_fog Zeichnet die Würfelszene im Nebel
cubes_fog.info Zugehörige Icon-Datei
hsv Zeichnet einen HSV-Farbkreis
hsv.info Zugehörige Icon-Datei
lwShow Stellt ein Lightwave-Objekt dar
lwShow.info Zugehörige Icon-Datei
primitives Zeichnet die OpenGL-Primitive
primitives.info Zugehörige Icon-Datei
select Demonstriert den Selection-Mode
select.info Zugehörige Icon-Datei
triangles Zeichnet 500 zufällige Dreiecke
triangles.info Zugehörige Icon-Datei
include (dir) Das Verzeichnis für Include-Dateien
cybergl.h Die Headerdatei mit den CyberGL-Datentypen
cybergl_pragmas.h Die Headerdatei mit den CyberGL-Pragmas
cybergl_protos.h Die Headerdatei mit den CyberGL-Prototypen
Die drei Bibliotheken sind für verschiedene Prozessoren übersetzte Versionen
der Bibliothek "cybergl.library" und eine passende Version sollte sich unter
dem Namen "cybergl.library" im Verzeichnis "LIBS:" befinden. Die
derzeitigen Bibliotheken funktionieren nur einwandfrei, wenn sie maximal
EINMAL geöffnet werden und unterstützen kein Palettensharing. Außerdem wird
IMMER eine FPU benötigt (diese Voraussetzung wird sich auch in Zukunft nicht
ändern, da die CyberGL sehr viele Fließkommaberechnungen durchführt).
Die Objekte im Verzeichnis "objects" sind eine Auswahl von
Lightwave-Objekten, die mittels "lwShow" dargestellt werden können
(Erklärung folgt später).
Die Environment-Maps im Verzeichnis "reflect" sind eine Auswahl von
Texturen, die "lwShow" benötigt, um Pseudo-Spiegelungen zu demonstrieren.
Die Headerdateien zur CyberGL sind im Verzeichnis "include" enthalten.
Die Demoprogramme:
bigPoly: Aufruf: bigPoly <vertexNum>
Beispiel: bigPoly 1000
Funktion: Das Programm zeichnet einen Kreis, der durch ein
Vieleck mit <vertexNum> Eckpunkten angenähert wird.
Dieses Programm demonstriert im wesentlichen, daß
die Anzahl der Eckpunkte eines Polygons unbegrenzt
ist und demonstriert das Verhalten des
Gouraudshadings bei unterschiedlich vielen
Eckpunkten.
cubes: Aufruf: cubes
Beispiel: cubes
Funktion: Das Programm zeichnet vier Ringe aus jeweils 18
Würfeln und anschließend wird eine Ebene aus 400
Quadraten gezeichnet, die diese Würfelringe
durchschneidet.
cubes_clipped: Aufruf: cubes_clipped
Beispiel: cubes_clipped
Funktion: Die gleiche Szene wird durch eine
benutzerdefinierte Ebene in zwei Teile
zerschnitten. Zuerst wird die Szene hinter der
Ebene mit ausgefüllten Flächen gezeichnet. Dann
wird die gleiche Szene vor der Ebene als
Drahtgittermodell gezeichnet.
cubes_flat: Aufruf: cubes_flat
Beispiel: cubes_flat
Funktion: Die gleiche Szene wird mittels Flatshading
gezeichnet.
cubes_fog: Aufruf: cubes_fog
Beispiel: cubes_fog
Funktion: Die gleiche Szene wird in dichten Nebel gehüllt
dargestellt.
cubes_anim: Aufruf: cubes_anim
Beispiel: cubes_anim
Funktion: Acht Würfel werden dargestellt und können mit der
Maus gedreht werden.
hsv: Aufruf: hsv
Beispiel: hsv
Funktion: Dieses Programm zeichnet einen HSV-Farbkreis.
primitives: Aufruf: primitives <primitive_type_num>
Beispiel: primitives 7
Funktion: Stellt die CyberGL auf einen der 10 Primitiv-Typen
ein und übergigt ihr dann acht Vertices. Dadurch
werden mit denselben glVertex-Aufrufen 10 verschieden
Ausgaben erzeugt (0: GL_POINTS, 1:GL_LINES,
2: GL_LINE_STRIP, 3: GL_LINE_LOOP, 4: GL_TRIANGLES,
5: GL_TRIANGLE_STRIP, 6: GL_TRIANGLE_FAN,
7: GL_QUADS, 8: GL_QUAD_STRIP, 9: GL_POLYGON).
triangles: Aufruf: triangles
Beispiel: triangles
Funktion: Zeichnet 500 zufällige Dreiecke (zufällige
Eckpunkt-Raumpositionen, zufällige
Eckpunkt-Farben). Die Dreiecke durchdringen sich
und werden durch den Z-Buffer korrekt dargestellt.
select: Aufruf: select
Beispiel: select
Funktion: Zeichnet vier Würfel, die mit der Maus angeklickt
werden können. Die CyberGL stellt mittels Selection-Mode
fest, welcher der Würfel angeklickt wurde und gibt
das Ergebnis auf stdout aus.
lwShow: Aufruf: lwShow <object_file_name> [<environment_map_file_name>]
Beispiel: lwShow /objects/Stool
Beispile: lwShow /objects/SimpleChair /reflect/Environ
Funktion: Dieses Demonstrationsprogramm ist das komplexeste.
Es lädt ein Lightwave-Objekt, berechnet die
Flächennormalen, glättet das Objekt entsprechend
der Materialeinstellungen im Objekt und stellt es
dar. Außerdem kann die Darstellung verändert
werden: mit den Cursortasten kann das Objekt
gedreht werden, mit "<" und ">" kann das Objekt
gezoomt werden, mit "+" und "-" wird es entlang der
Z-Achse bewegt und mittels der Maus kann es
ebenfalls gedreht werden. Wird zusätzlich der
optionale zweite Parameter angegeben, so wird dieser
als Dateiname einer Environment-Map interpretiert.
Diese Map wird als Textur geladen, die
Materialeigenschaften des Objekts werden ignoriert
und das Objekt erscheint so, als würde sich eine
Umgebung in der Oberfläche spiegeln. Diese Demo
benötigt zum Teil recht viel Speicher und Rechenzeit.